package com.cm.sys.system.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;

import com.cm.sys.system.entity.UserRole;

@Mapper
public interface UserRoleMapper {

    /***
     * 删除用户的角色
     * 
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Integer id);

    /***
     * 新增用户角色
     * 
     * @param record
     * @return
     */
    int insert(UserRole record);

    /***
     * 查询
     * 
     * @param id
     * @return
     */
    UserRole selectByPrimaryKey(Integer id);

    /***
     * 查询所有
     * 
     * @param id
     * @return
     */
    List<UserRole> selectAll();

    /***
     * 更新
     * 
     * @param record
     * @return
     */
    int updateByPrimaryKey(UserRole record);

    /***
     * 查询用户所有的角色根据id
     * 
     * @param id
     * @return
     */
    List<UserRole> selectRoles(Integer userId);

    /***
     * 批量插入用户的角色
     * 
     * @param id
     * @return
     */
    int insertBatch(List<UserRole> record);

    /***
     * 根据用户id删除角色
     * 
     * @param id
     * @return
     */
    int deleteByUserId(Integer userId);

    List<Integer> getRoleIdByUserId(Integer userId);

    Integer selectWorkMates(Integer userId);

    void deleteByRoleId(Integer roleId);

    List<UserRole> selectByRoleId(Integer roleId);
}